const HOST_URL = "http://127.0.0.1/haijiao/"
const TOKEN_KEY = "jwtToken";

/**
 * 将服务器返回的token存储在本地
 * @param token
 */
function setJwtToken(token){
	localStorage.setItem(TOKEN_KEY,token);
}
/**
 * 获取本地的token
 * @returns token
 */
function getJwtToken(){
	return localStorage.getItem(TOKEN_KEY);
}
/**
 * 移除token
 */	
function removeJwtToken() {
	 localStorage.removeItem(TOKEN_KEY);
}
/**
 * 创建带Token  Header的请求头、
 * @returns
 */
function createAuthorizationTokenHeader(){
	token=getJwtToken();
	if(token){
		return {'Authorization':token}
	}else{
		return {};
	}
}


// 生成一个图片验证码的编号，并设置页面中图片验证码img标签的src属性
function generateImageCode() {
    // 1. 生成一个编号
    // 严格一点的使用uuid保证编号唯一， 不是很严谨的情况下，也可以使用时间戳
    imageCodeId = generateUUID();

    // 2. 拼接验证码地址
    var imageCodeUrl = "/image_code/?code_id=" + imageCodeId + "/";
    // 3. 设置页面中图片验证码img标签的src属性
    $(".get_pic_code").attr("src", imageCodeUrl);
    $("#image_token").attr("value", imageCodeId);
}
function generateUUID() {
    var d = new Date().getTime();
    if(window.performance && typeof window.performance.now === "function"){
        d += performance.now(); //use high-precision timer if available
    }
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = (d + Math.random()*16)%16 | 0;
        d = Math.floor(d/16);
        return (c=='x' ? r : (r&0x3|0x8)).toString(16);
    });
    return uuid;
}

function send_sms(){
       var mobile = document.getElementById("L_email").value;  // 提取手机号
       var image_code = document.getElementById("L_vercode").value;  // 提取图片验证码
       var tkon_code = document.getElementById("image_token").value;  // 提取uuid
        var csrf = document.getElementById("csrf_toke").value;
       if (!mobile) {
            alert("请输入手机号");
            return;
        }
       if (!image_code) {
            alert("请输入图片验证码");
            return;
        }

       // 获取短信验证码
        var params = {
            "phone": mobile,
            "image_code": image_code,
            "tkon_code": tkon_code,
            "csrfmiddlewaretoken": csrf
        };
     $.ajax({
            url:"/send_sms/",
            type: "post",
         　headers:{"X-CSRFToken":csrf},
            data: JSON.stringify(params),
            contentType: "application/json",
            success: function (resp) {
                if (resp.code == "0"){
                    // 刷新当前界面
                    var btnn=document.getElementById("get_sms");
                    btnn.value=59
                }
                else if(resp.code=='404'){
                       // 严格一点的使用uuid保证编号唯一， 不是很严谨的情况下，也可以使用时间戳
                    imageCodeId = generateUUID();
                    // 2. 拼接验证码地址
                    var imageCodeUrl = "/image_code?code_id=" + imageCodeId + "/";
                    // 3. 设置页面中图片验证码img标签的src属性
                    $(".get_pic_code").attr("src", imageCodeUrl);
                    $("#image_token").attr("value", imageCodeId);
                     alert(resp.errmsg);
                }
                else {
                    alert(resp.errmsg);
                }
            }
        })
    }
//注册
$(function(){
    $(".register_form_con").submit(function (e) {
        // 阻止默认提交操作
        e.preventDefault();
		// 取到用户输入的内容
        var mobile = document.getElementById("L_email").value;  // 提取邮箱
        var username = document.getElementById("L_username").value;  // 提取用户名
        var sms_code = document.getElementById("sms_code").value;   // 提取图片验证码
        var password = document.getElementById("L_pass").value; // 提取密码
        var password2 = document.getElementById("L_repass").value;  // 确认密码
        var vercode = document.getElementById("L_repass").value;  // 确认密码
                var csrf = document.getElementById("csrf_toke").value;
        if (!mobile) {
            $("#register-mobile-err").show();
            return;
        }
        if (!vercode) {
            $("#image-code-err").html("请填写验证码！");
            $("#image-code-err").show();
            // $(".get_code").attr("onclick", "sendSMSCode();");
            return;
        }
        if (!sms_code) {
            $("#image-code-err").html("请填写短信验证码！");
            $("#image-code-err").show();
            // $(".get_code").attr("onclick", "sendSMSCode();");
            return;
        }
        if (!username) {
            $("#register-sms-code-err").show();
            return;
        }
        if (!password) {
            $("#register-password-err").html("请填写密码!");
            $("#register-password-err").show();
            return;
        }
        if (!password2) {
            $("#register-password-err").html("请确认密码!");
            $("#register-password-err").show();
            return;
        }

		if (password.length < 6) {
		    alert("密码长度不能少于6位!");
            $("#register-password-err").html("密码长度不能少于6位");
            $("#register-password-err").show();
            return;
        }
		if (password !== password2) {
		    alert("两次密码不一致!");
            // $("#register-password-err").html("两次密码不一致!");
            $("#register-password-err").show();
            return;
        }

        // 发起注册请求
        var params = {
            "email": mobile,
            "sms_code": sms_code,
            "password": password,
            "password2": password2,
            "username": username,

        };

        $.ajax({
            url:"/reg/",
            type: "post",
           headers:{ "X-CSRFtoken":csrf},
            data: JSON.stringify(params),
            contentType: "application/json",
            success: function (resp) {
                if (resp.code == "0"){
                    // 刷新当前界面
                    location.href=resp.errmsg
                }else {
                    alert(resp.errmsg);
                    // 1. 生成一个编号
                    // 严格一点的使用uuid保证编号唯一， 不是很严谨的情况下，也可以使用时间戳
                    imageCodeId = generateUUID();

                    // 2. 拼接验证码地址
                    var imageCodeUrl = "/image_code/?code_id=" + imageCodeId + "/";
                    // 3. 设置页面中图片验证码img标签的src属性
                    $(".get_pic_code").attr("src", imageCodeUrl);
                    $("#image_token").attr("value", imageCodeId);
                }
            }
        })

    })});


//登录
function login() {
        var mobile = document.getElementById("L_email").value;  // 提取邮箱或手机号
        var pwd = document.getElementById("L_pass").value;  // 提取密码
        var vercode = document.getElementById("L_vercode").value;  // 提取验证码
        var image_token = document.getElementById("image_token").value;  // 提取验证码
                var csrf = document.getElementById("csrf_toke").value;


        if (!mobile) {
            alert("请输入手机号");
            $("#register-mobile-err").show();
            return;
        }
        if (!pwd) {
             alert("请输入密码");
            $("#register-sms-code-err").show();
            return;
        }
        if (!vercode) {
            alert("请输入验证码");
            $("#image-code-err").html("请填写验证码！");
            $("#image-code-err").show();
            return;
        }
        // 发起登录请求
        var params = {
            "email": mobile,
            "vercode": vercode,
            "password": pwd,
            "image_token": image_token,
            "csrfmiddlewaretoken": csrf
        };
        $.ajax({
            url:"/login/",
            type: "post",
            headers:{ "X-CSRFtoken":csrf},
            data: JSON.stringify(params),
            contentType: "application/json",
            success: function (resp) {
                if (resp.code == "0"){
                    // 刷新当前界面
                    location.href="/"
                }else {
                    alert(resp.errmsg);
                    // 1. 生成一个编号
                    // 严格一点的使用uuid保证编号唯一， 不是很严谨的情况下，也可以使用时间戳
                    imageCodeId = generateUUID();

                    // 2. 拼接验证码地址
                    var imageCodeUrl = "/image_code/?code_id=" + imageCodeId + "/";
                    // 3. 设置页面中图片验证码img标签的src属性
                    $(".get_pic_code").attr("src", imageCodeUrl);
                    $("#image_token").attr("value", imageCodeId);
                }
            }
        })

}
